TypedAs Generic Method

Wintellect PowerCollections

Collapse imageExpand ImageCollapseAll imageExpandAll imageDropDown imageDropDownHover imageCopy imageCopyHover image
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Given a non-generic ICollection interface, wrap a generic ICollection<T> interface around it. The generic interface will enumerate the same objects as the underlying non-generic collection, but can be used in places that require a generic interface. The underlying non-generic collection must contain only items that are of type T or a type derived from it. This method is useful when interfacing older, non-generic collections to newer code that uses generic interfaces.

Namespace: Wintellect.PowerCollections
Assembly:  PowerCollections (in PowerCollections.dll)

Syntax

C#
public static ICollection<T> TypedAs<T>(
	ICollection untypedCollection
)
Visual Basic (Declaration)
Public Shared Function TypedAs(Of T) ( _
	untypedCollection As ICollection _
) As ICollection(Of T)
Visual C++
public:
generic<typename T>
static ICollection<T>^ TypedAs (
	ICollection^ untypedCollection
)

Parameters

untypedCollection
ICollection
An untyped collection. This collection should only contain items of type T or a type derived from it.

Return Value

A generic ICollection<T> wrapper around untypedCollection. If untypedCollection is null, then null is returned.

Type Parameters

T
The item type of the wrapper collection.

Remarks

Some collections implement both generic and non-generic interfaces. For efficiency, this method will first attempt to cast untypedCollection to ICollection<T>. If that succeeds, it is returned; otherwise, a wrapper object is created.

Unlike the generic interface, the non-generic ICollection interfaces does not contain methods for adding or removing items from the collection. For this reason, the returned ICollection<T> will be read-only.

See Also